package com.ruoyi.system.service.impl;

import java.util.List;
import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.system.domain.vo.GoodsSkuWithGoodNameAndExpressNameVo;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.system.mapper.GoodsSkuMapper;
import com.ruoyi.system.domain.GoodsSku;
import com.ruoyi.system.service.IGoodsSkuService;

/**
 * 具体商品的参数Service业务层处理
 * 
 * @author ruoyi
 * @date 2022-01-26
 */
@Service
public class GoodsSkuServiceImpl implements IGoodsSkuService 
{
    @Autowired
    private GoodsSkuMapper goodsSkuMapper;

    /**
     * 查询具体商品的参数列表  带上商品的名字和快递的名字
     *
     * @param goodsSkuWithGoodNameAndExpressNameVo 具体商品的参数
     * @return 具体商品的参数
     */
    @Override
    public List<GoodsSkuWithGoodNameAndExpressNameVo> selectGoodsSkuVoList(GoodsSkuWithGoodNameAndExpressNameVo goodsSkuWithGoodNameAndExpressNameVo) {
        return goodsSkuMapper.queryGoodsSkuVoList(goodsSkuWithGoodNameAndExpressNameVo);
    }
    /**
     * 查询具体商品的参数
     * 
     * @param goodSkuId 具体商品的参数主键
     * @return 具体商品的参数
     */
    @Override
    public GoodsSku selectGoodsSkuByGoodSkuId(Long goodSkuId)
    {
        return goodsSkuMapper.selectGoodsSkuByGoodSkuId(goodSkuId);
    }

    /**
     * 查询具体商品的参数列表
     * 
     * @param goodsSku 具体商品的参数
     * @return 具体商品的参数
     */
    @Override
    public List<GoodsSku> selectGoodsSkuList(GoodsSku goodsSku)
    {
        return goodsSkuMapper.selectGoodsSkuList(goodsSku);
    }

    /**
     * 新增具体商品的参数
     * 
     * @param goodsSku 具体商品的参数
     * @return 结果
     */
    @Override
    public int insertGoodsSku(GoodsSku goodsSku)
    {
        goodsSku.setCreateTime(DateUtils.getNowDate());
        return goodsSkuMapper.insertGoodsSku(goodsSku);
    }

    /**
     * 修改具体商品的参数
     * 
     * @param goodsSku 具体商品的参数
     * @return 结果
     */
    @Override
    public int updateGoodsSku(GoodsSku goodsSku)
    {
        return goodsSkuMapper.updateGoodsSku(goodsSku);
    }

    /**
     * 批量删除具体商品的参数
     * 
     * @param goodSkuIds 需要删除的具体商品的参数主键
     * @return 结果
     */
    @Override
    public int deleteGoodsSkuByGoodSkuIds(Long[] goodSkuIds)
    {
        return goodsSkuMapper.deleteGoodsSkuByGoodSkuIds(goodSkuIds);
    }

    /**
     * 删除具体商品的参数信息
     * 
     * @param goodSkuId 具体商品的参数主键
     * @return 结果
     */
    @Override
    public int deleteGoodsSkuByGoodSkuId(Long goodSkuId)
    {
        return goodsSkuMapper.deleteGoodsSkuByGoodSkuId(goodSkuId);
    }
}
